home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / TeX-inputs / LaTeX / amslatex / amscd.sty (.txt) < prev    next >
LaTeX Document  |  1997-01-18  |  7KB  |  159 lines

  1. %% This is file `amscd.sty', generated 
  2. %% on <1996/11/1> with the docstrip utility (2.2i).
  3. %% The original source files were:
  4. %% amscd.dtx 
  5. %%% ====================================================================
  6. %%%  @LaTeX-file{
  7. %%%     filename        = "amscd.dtx",
  8. %%%     version         = "1.2b",
  9. %%%     date            = "1996/10/28",
  10. %%%     time            = "14:43:47 EST",
  11. %%%     author          = "American Mathematical Society",
  12. %%%     copyright       = "Copyright (C) 1996 American Mathematical Society,
  13. %%%                        all rights reserved.  Copying of this file is
  14. %%%                        authorized only if either:
  15. %%%                        (1) you make absolutely no changes to your copy,
  16. %%%                        including name; OR
  17. %%%                        (2) if you do make changes, you first rename it
  18. %%%                        to some other name.",
  19. %%%     address         = "American Mathematical Society,
  20. %%%                        Technical Support,
  21. %%%                        Electronic Products and Services,
  22. %%%                        P. O. Box 6248,
  23. %%%                        Providence, RI 02940,
  24. %%%                        USA",
  25. %%%     telephone       = "401-455-4080 or (in the USA and Canada)
  26. %%%                        800-321-4AMS (321-4267)",
  27. %%%     FAX             = "401-331-3842",
  28. %%%     checksum        = "35773 318 1077 11839",
  29. %%%     email           = "tech-support@ams.org (Internet)",
  30. %%%     codetable       = "ISO/ASCII",
  31. %%%     keywords        = "latex, amslatex, ams-latex, commutative diagram",
  32. %%%     supported       = "yes",
  33. %%%     abstract        = "This is part of the AMS-\LaTeX{} distribution.
  34. %%%                        It is a \LaTeX{} package that adapts the
  35. %%%                        commutative diagram macros of AMS-\TeX{} for
  36. %%%                        use in \LaTeX{}",
  37. %%%     docstring       = "The checksum field above contains a CRC-16
  38. %%%                        checksum as the first value, followed by the
  39. %%%                        equivalent of the standard UNIX wc (word
  40. %%%                        count) utility output of lines, words, and
  41. %%%                        characters.  This is produced by Robert
  42. %%%                        Solovay's checksum utility.",
  43. %%%  }
  44. %%% ====================================================================
  45. \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
  46. [1994/12/01]% LaTeX date must December 1994 or later
  47. \ProvidesPackage{amscd}[1996/10/28 v1.2b]
  48. \RequirePackage{amsgen}
  49. \@ifundefined{math@cr}{%
  50.   \def\math@cr{{\ifnum0=`}\fi
  51.     \@ifstar{\global\@eqpen\@M\math@cr@}%
  52.           {\global\@eqpen\interdisplaylinepenalty \math@cr@}}
  53. \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
  54. \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
  55.   \noalign{\vskip#1\relax}}
  56. \def\restore@math@cr{\def\math@cr@@@{\cr}}
  57. \restore@math@cr
  58. \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  59.   $#1\copy\z@\mkern-6mu\cleaders
  60.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  61.   \mkern-6mu\mathord\rightarrow$}
  62. \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  63.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  64.   \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
  65.   \mkern-6mu\box\z@$}
  66. \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  67.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  68.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  69.   \mkern-6mu\mathord\rightarrow$}
  70. \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
  71. \@ifundefined{Iat}{%
  72.   \DeclareRobustCommand{\Iat}{\FN@\at@}
  73. \begingroup \catcode`\@=\active
  74. \csname if\string @compatibility\endcsname
  75. \else \fam=\mathcode`\@
  76.   \xdef @{\mathchar\number\fam\space }
  77. \gdef\CDat{\let @=\Iat}
  78. \endgroup
  79. \mathcode`\@="8000 % make @ pseudo-active in math
  80. \def\at@{\let\next@\at@@
  81.  \ifcat\noexpand\next a\else
  82.  \ifcat\noexpand\next0\else
  83.  \ifcat\noexpand\next\relax\else
  84.  \let\next@\at@@@\fi\fi\fi\next@}
  85. \def\at@@#1{\expandafter
  86.   \ifx\csname\space @\string#1\endcsname\relax
  87.     \DN@{\at@@@#1}%
  88.   \else
  89.     \DN@{\csname\space @\string#1\endcsname}%
  90.   \fi\next@}%
  91. \@ifundefined{default@tag}{%
  92.   \def\default@tag{%
  93.     \def\tag{\PackageError{amscd}{\protect\tag\space not allowed
  94.       here}\@eha}}%
  95. \@ifundefined{at@@@}{%
  96.   \def\at@@@{\PackageError{amscd}{\Invalid@@ @}{\the\athelp@}\char64\relax}
  97. \@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@
  98. {Only certain combinations beginning with @ make sense to me.^^J%
  99. I'll assume you wanted @@ for a printed @.}}{}
  100. \@ifundefined{minaw@}{\newdimen\minaw@}{}
  101. \@ifundefined{bigaw@}{\newdimen\bigaw@}{}
  102. \minaw@11.111pt
  103. \newdimen\minCDarrowwidth
  104. \minCDarrowwidth2.5pc
  105. \newif\ifCD@
  106. \let\ampersand@\relax
  107. \newenvironment{CD}{%
  108.   \CDat
  109.   \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
  110.   \CD@true\vcenter\bgroup\let\\\math@cr\restore@math@cr\default@tag
  111.   \tabskip\z@skip\baselineskip20\ex@
  112.   \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
  113.   &\hfill$\m@th##$\hfill\crcr
  114.   \crcr\egroup\egroup\egroup
  115. \def\CD@check#1#2{\ifCD@\DN@{#2}\else
  116.   \DN@{\PackageError{amscd}{@\protect#1 not
  117.     allowed outside of the CD environment}\@eha}%
  118.   \fi\next@}
  119. \atdef@>#1>#2>{\ampersand@
  120.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  121.   \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
  122.   \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
  123.   \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
  124.     \ifdim\wd\@ne>\bigaw@\global\bigaw@\wd\@ne\fi}%
  125.  \ifCD@\enskip\fi
  126.    \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
  127.      \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  128.  \ifCD@\enskip\fi \ampersand@}
  129. \atdef@<#1<#2<{\ampersand@
  130.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  131.   \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
  132.   \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
  133.   \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
  134.     \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}%
  135.   \ifCD@\enskip\fi
  136.     \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
  137.       \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  138.   \ifCD@\enskip\fi \ampersand@}
  139. \begingroup \catcode`\~=\active \lccode`\~=`\@
  140. \lowercase{%
  141.   \global\atdef@)#1)#2){~>#1>#2>}
  142.   \global\atdef@(#1(#2({~<#1<#2<}
  143. }% end lowercase
  144. \endgroup
  145. \atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox
  146.   {$\scriptstyle#1$}}$}\Big\uparrow
  147.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  148. \atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox
  149.   {$\scriptstyle#1$}}$}\Big\downarrow
  150.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  151. \atdef@={\CD@check={&\enskip\mathrel
  152.   {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
  153.   \minCDarrowwidth}}\enskip&}}
  154. \atdef@|{\CD@check|{\Big\Vert&&}}
  155. \atdef@\vert{\CD@check\vert{\Big\Vert&&}}
  156. \atdef@.{\CD@check.{&&}}
  157. \endinput
  158. %% End of file `amscd.sty'.
  159.